/**
 * Buffer实例方法：
 * 1.fill：使用数据填充buffer
 * 2.write：向buffer中写入数据
 * 3.toString：从buffer中提取数据
 * 4.slice：截取buffer
 * 5.indexOf：在buffer中查找数据
 * 6.copy：拷贝buffer中的数据
 */

let buf = Buffer.alloc(6);

// 1.fill
// 最多有3个参数
// 01：填充数据
// 02：写入初始位置
// 03：写入结束位置（取不到，顾头不顾尾）
// buf.fill("12345689", 3, 5);
// console.log(buf);
// console.log(buf.toString());

// 2.write
// 最多有3个参数
// 01：写入的数据
// 02：写入初始位置
// 03：写入数据的length，不能超过写入数据的length
// buf.write("123", 2, 2);
// console.log(buf);
// console.log(buf.toString());

// 3.toString
// 最多有3个参数
// 01：转成的编码方式，默认是utf-8
// 02：截取初始位置，utf-8模式下，如果是汉字，一个汉字是3个字节，所以最好是3的倍数
// 03：截取结束位置（取不到，顾头不顾尾）
// buf = Buffer.from("拉勾教育");
// console.log(buf);
// console.log(buf.toString("utf-8", 3, 9));

// 4.slice
// 最多有2个参数
// 01：截取初始位置，utf-8模式下，如果是汉字，一个汉字是3个字节，所以最好是3的倍数
// 02：截取结束位置（取不到，顾头不顾尾）
// 如果想要从后向前截取，前面加上-号
// buf = Buffer.from("拉勾教育");
// let b1 = buf.slice(3, 9);
// console.log(b1);
// console.log(b1.toString());

// 5.indexOf
// 最多有2个参数
// 01：查找的数据，找到返回下标，找不到返回-1
// 02：偏移量
// buf = Buffer.from("myf爱前端，爱拉勾教育，爱大家，我爱所有");
// console.log(buf);
// console.log(buf.indexOf("爱", 4));

// 6.copy
// 最多有4个参数
// b2的内容拷贝给b1
// 01：拷贝的容器
// 02：拷贝容器的初始位置
// 03：数据源的开始位置
// 04：数据源的结束位置（取不到，顾头不顾尾）
let b1 = Buffer.alloc(6);
let b2 = Buffer.from("拉勾教育");
b2.copy(b1, 0, 3, 9);

console.log(b1.toString());
console.log(b2.toString());
